Field of the Invention
This invention relates generally to the field of computer processors. More particularly, the invention relates to a ray tracing apparatus and method utilizing both spatial and temporal data structures.
Description of the Related Art
Ray tracing is a graphics processing technique for generating an image by traversing the path of each light ray through pixels in an image plane and simulating the effects of its incidence upon different objects. Following traversal calculations, each ray is typically tested for intersection with some subset of the objects in the scene. Once the nearest object has been identified, the incoming light at the point of intersection is estimated, the material properties of the object are determined, and this information is used to calculate the final color of the pixel.
Ray tracing is a time consuming part of movie production rendering. When dealing with dynamic content, rendering of motion blur is essential for high visual quality, but also very challenging. In particular, the preferred method for rendering movies today is Monte Carlo path tracing, which handles motion blur by integrating over the camera's shutter time; i.e., any ray being traced has a certain “time” associated with it. This in turn complicates the job of the underlying ray tracing kernel in that it has to find the proper intersection for the given time stored with the ray (different rays will have different time stamps). For objects that are moving quickly (such as rotor blades, etc.) the respective primitives' locations can vary significantly over the time the shutter is open, making it significantly harder for the ray tracer to quickly find which primitives may intersect the given ray at that point in time.